home *** CD-ROM | disk | FTP | other *** search
-
-
-
- ffffggggllllIIIInnnnttttrrrroooo((((3333GGGG)))) OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee ffffggggllllIIIInnnnttttrrrroooo((((3333GGGG))))
-
-
-
- NNNNAAAAMMMMEEEE
- ---- IIIInnnnttttrrrroooodddduuuuccccttttiiiioooonnnn ttttoooo OOOOppppeeeennnnGGGGLLLL FFFFOOOORRRRTTTTRRRRAAAANNNN BBBBiiiinnnnddddiiiinnnnggggssss
-
-
-
- OOOOVVVVEEEERRRRVVVVIIIIEEEEWWWW
- OpenGL is a high-performance 3D-oriented renderer that supersedes IrisGL.
- It is supported on all SGI graphics adaptors except for the G, GT and
- GTX. A number of other workstation and personal computer vendors also
- support OpenGL.
-
- This manpage contains OpenGL FORTRAN binding specific information.
-
-
- NNNNOOOOTTTTEEEESSSS
- The FORTRAN bindings naming convention for routines is to prefix each
- OpenGL call with fgl. GL_ prefix is used for the constants.
-
- The OpenGL FORTRAN bindings header files consist of /usr/include/GL/fgl.h
- and /usr/include/GL/fglu.h, the OpenGL FORTRAN bindings libraries are
- /usr/lib/libfGL.a and /usr/lib/libfGLU.a.
-
- There are no FORTRAN bindings for X and GLX.
-
- To determine if a pointer is null, compare it to GL_NULL (which is
- actually an 8-character string).
-
- Beware of problems with the commands that return strings of potentially
- unlimited length, such as ffffggggllllGGGGeeeettttSSSSttttrrrriiiinnnngggg. The FORTRAN bindings support only
- limited length strings. If you need to deal with longer strings, you will
- need to write an interface routine that copies the result string into a
- buffer and then returns a token at a time.
-
-
- EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS
- Compile with f77 -o sphere sphere.f -lfglut -lfGLU -lfGL -lglut -lGLU
- -lGL -lXmu -lXext -lXi -lX11
-
- C GLUT Fortran program to draw red light sphere.
-
- subroutine display #include "GL/fgl.h"
- call fglclear(GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT)
- call fglcalllist(1)
- call glutswapbuffers
- end
-
- subroutine gfxinit #include "GL/fgl.h"
- real diffuse(4),pos(4)
- data diffuse /1.0, 0.0, 0.0, 1.0/
- data pos /1.0, 1.0, 1.0, 0.0/
- call fglnewlist(1, GL_COMPILE)
- call glutsolidsphere(dble(1.0), 20, 20)
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- ffffggggllllIIIInnnnttttrrrroooo((((3333GGGG)))) OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee ffffggggllllIIIInnnnttttrrrroooo((((3333GGGG))))
-
-
-
- call fglendlist
- call fgllightfv(GL_LIGHT0, GL_DIFFUSE, diffuse)
- call fgllightfv(GL_LIGHT0, GL_POSITION, pos)
- call fglenable(GL_LIGHTING)
- call fglenable(GL_LIGHT0)
- call fglenable(GL_DEPTH_TEST)
- call fglmatrixmode(GL_PROJECTION)
- call fgluperspective(dble(40.0), dble(1.0),
- 2 dble(1.0), dble(10.0))
- call fglmatrixmode(GL_MODELVIEW)
- call fglulookat(dble(0.0), dble(0.0), dble(5.0),
- 2 dble(0.0), dble(0.0), dble(0.0),
- 3 dble(0.0), dble(1.0), dble(1.0))
- call fgltranslatef(0.0, 0.0, -1.0)
- end
-
- program main #include "GL/fglut.h"
- external display
- external reshape
- external submenu
- external mainmenu
- call glutinit
- call glutinitdisplaymode(GLUT_DOUBLE+GLUT_RGB+GLUT_DEPTH)
- call glutcreatewindow('Fortran GLUT sphere')
- call gfxinit
- call glutdisplayfunc(display)
- call glutmainloop
- end
-
-
- BBBBUUUUGGGGSSSS
- OpenGL FORTRAN bindings may contain unresolved symbols. Adding
- -ignore_unresolved to your compile command line will eliminate the error.
-
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- ggggllllIIIInnnnttttrrrroooo
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-